package org.zcl.config.mybatis;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import org.apache.ibatis.annotations.Param;

public interface BaseMapperPlus<T> extends BaseMapper<T> {
    /**
     * 删除id与填补
     * 逻辑删除
     *
     * @param param 参数
     * @return int
     */
    int deleteByIdWithFill(T param);

    /**
     * 逻辑删除并自动填充
     *
     * @param param   实体类
     * @param wrapper 删除条件
     * @return 删除影响条数
     */
    int deleteWithFill(@Param(Constants.ENTITY) T param, @Param(Constants.WRAPPER) Wrapper<T> wrapper);

}